package cn.maihe.elg.operation.centers.hymake.dto.handler.vo.xm;

import cn.maihe.elg.operation.centers.hymake.dto.HyMakeBaseReqDTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;

/**
 * @Description 投保材料地址推送
 * @Author WJH
 * @Date 2022/03/31
 * 3.1.4、接收申请单盖章文件(文件)
 */
@Data
public class XMFilePushReqDTO extends HyMakeBaseReqDTO {

    /**
     * 账户标识
     */
    @NotBlank
    private String appId;

    /**
     * 电子投标保函申请ID。
     */
    @NotBlank
    private String applyId;


    /**
     * 工程担保保证人统一社会信用代码
     */
    @NotBlank
    private String guarantorCreditCode;

    /**
     * 工程担保保证人名称
     */
    @NotBlank
    private String guarantorName;

    /**
     * 时间戳，格式（yyyyMMddHHmmss）
     */
    private String timestamp;

    /**
     * 签名值，计算规则参考签名规则
     */
    private String signature;

    /**
     * FILEKEY 对应的值
     */
    private Map<String, String> fileKeys;


    @NotEmpty
    @Valid
    private List<FileInfo> filesInfo;//	投保材料文件列表	List	投保材料文件列表

    @Data
    public static class FileInfo {
        @NotBlank
        @JsonProperty("FILEKEY")
        private String fileKey;

        @NotBlank
        @JsonProperty("FILEKEY")
        private String fileName;

        @NotBlank
        @JsonProperty("FILEMD5")
        private String fileMD5;

        @JsonProperty("FILETYPE")
        private String fileType;
    }
}
